package com.heg.api.service;

import java.util.List;
import java.util.Map;

import com.heg.bk.entity.HegMobileUser;

/**
 * app用户模块逻辑层业务（接口层）
 * @author 邓绪招
 * @time 2016-04-18
 * @version 1.0.1
 */
public interface UserModuleService {
	
	/**
	 * 验证手机号码是否被注册
	 * @param telnumber 手机号码
	 * @return
	 */
	public Boolean verification_isreg(String telnumber);
	
	/**
	 * 用户注册
	 * @param telnumber 电话号码
	 * @param password 密码
	 * @param code 验证码
	 * @param deviceVersion 设备型号
	 * @param deviceType 设备类型
	 * @param deviceKey 设备KEY
	 * @param deviceId 设备ID
	 * @param lat 维度
	 * @param lng 经度
	 * @param params1 预留参数
	 * @param params2 预留参数
	 * @return 返回用户ID
	 */
	public Map<String, Object> regUser(String telnumber, String password, String code, 
			String deviceVersion, String deviceType, String deviceKey, String deviceId,
			String lat, String lng, String userId, String channelId, 
			String params1, String params2);
	
	/**
	 * app用户首次登录 -- 使用用户名密码登录
	 * @param telNumber 电话号码
	 * @param password  密码
	 * @param lat 经度
	 * @param lng 维度
	 * @param userId 推送对应用户ID
	 * @param channelId 推送通道Id
	 * @return 返回登录用户
	 */
	public HegMobileUser appUser_firstLogin(String telNumber, String password, String lat, String lng, String userId, String channelId);
	
	/**
	 * app用户非首次登录 -- 使用tokenCode登录
	 * @param tokenCode 登录tokenCode
	 * @param lat 经度
	 * @param lng 维度
	 * @param userId 推送对应用户ID
	 * @param channelId 推送通道Id
	 * @return 返回登录用户
	 */
	public HegMobileUser appUser_non_firstLogin(String tokenCode, String lat, String lng, String userId, String channelId);
	
	/**
	 * 根据用户ID获取用户信息
	 * @param uid 用户ID
	 * @return
	 */
	public List<Object []> get_UserByUid(String uid);

}
